using System;
using System.Collections;
using System.Collections.Generic;

using Ecreate.Popedom;

namespace Ecreate.Popedom
{
    public partial class tSysuser : BusinessBase<string>
    {
        #region Declarations

		private string _username = null;
		private int? _usergroupid = null;
		private string _password = null;
		private string _account = null;
		private string _tele = null;
		private string _address = null;
		private int? _useFlag = null;
		private int? _fLevel = null;
		private string _qq = null;

        private System.DateTime? _createdate = null;
        private System.DateTime? _canceldate = null;

        private tSysuser _ParentUser = null;

        public virtual tSysuser ParentUser
        {
            get { return _ParentUser; }
            set { _ParentUser = value; }
        }

        private IList<tSysuser> _users = null;

        public virtual IList<tSysuser> Users
        {
            get { return _users; }
            set { _users = value; }
        }





        private tArea _province = null;

        public virtual tArea Province
        {
            get { return _province; }
            set { _province = value; }
        }



        private tArea _city = null;

        public virtual tArea City
        {
            get { return _city; }
            set { _city = value; }
        }
        private tArea _country = null;
        public virtual tArea Country
        {
            get { return _country; }
            set { _country = value; }
        }

        //private string _provincecode = null;
		//private string _citycode = null;
		//private string _countrycode = null;

        private tGroup _Group = null;

        public virtual tGroup Group
        {
            get { return _Group; }
            set { _Group = value; }
        }
		
		#endregion
        
        #region Constructors

        public tSysuser() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            
            sb.Append(this.GetType().FullName);
			sb.Append(_username);
			sb.Append(_usergroupid);
			sb.Append(_password);
			sb.Append(_account);
			sb.Append(_tele);
			sb.Append(_address);
			sb.Append(_useFlag);
			sb.Append(_fLevel);
			sb.Append(_qq);
            //sb.Append(_provincecode);
            //sb.Append(_citycode);
            //sb.Append(_countrycode);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

		public virtual string Username
        {
            get { return _username; }
			set
			{
				OnUsernameChanging();
				_username = value;
				OnUsernameChanged();
			}
        }
		partial void OnUsernameChanging();
		partial void OnUsernameChanged();
		
		public virtual int? Usergroupid
        {
            get { return _usergroupid; }
			set
			{
				OnUsergroupidChanging();
				_usergroupid = value;
				OnUsergroupidChanged();
			}
        }
		partial void OnUsergroupidChanging();
		partial void OnUsergroupidChanged();
		
		public virtual string Password
        {
            get { return _password; }
			set
			{
				OnPasswordChanging();
				_password = value;
				OnPasswordChanged();
			}
        }
		partial void OnPasswordChanging();
		partial void OnPasswordChanged();
		
		public virtual string Account
        {
            get { return _account; }
			set
			{
				OnAccountChanging();
				_account = value;
				OnAccountChanged();
			}
        }
		partial void OnAccountChanging();
		partial void OnAccountChanged();
		
		public virtual string Tele
        {
            get { return _tele; }
			set
			{
				OnTeleChanging();
				_tele = value;
				OnTeleChanged();
			}
        }
		partial void OnTeleChanging();
		partial void OnTeleChanged();
		
		public virtual string Address
        {
            get { return _address; }
			set
			{
				OnAddressChanging();
				_address = value;
				OnAddressChanged();
			}
        }
		partial void OnAddressChanging();
		partial void OnAddressChanged();
		
		public virtual int? UseFlag
        {
            get { return _useFlag; }
			set
			{
				OnUseFlagChanging();
				_useFlag = value;
				OnUseFlagChanged();
			}
        }
		partial void OnUseFlagChanging();
		partial void OnUseFlagChanged();
		
		public virtual int? FLevel
        {
            get { return _fLevel; }
			set
			{
				OnFLevelChanging();
				_fLevel = value;
				OnFLevelChanged();
			}
        }
		partial void OnFLevelChanging();
		partial void OnFLevelChanged();
		
		public virtual string Qq
        {
            get { return _qq; }
			set
			{
				OnQqChanging();
				_qq = value;
				OnQqChanged();
			}
        }
		partial void OnQqChanging();
		partial void OnQqChanged();



        public virtual System.DateTime? Createdate
        {
            get { return _createdate; }
            set
            {
                OnCreatedateChanging();
                _createdate = value;
                OnCreatedateChanged();
            }
        }
        partial void OnCreatedateChanging();
        partial void OnCreatedateChanged();

        public virtual System.DateTime? Canceldate
        {
            get { return _canceldate; }
            set
            {
                OnCanceldateChanging();
                _canceldate = value;
                OnCanceldateChanged();
            }
        }
        partial void OnCanceldateChanging();
        partial void OnCanceldateChanged();
		

		
        #endregion
    }
}
